#ifndef UILAYOUT_H_
#define UILAYOUT_H_

#include <map>
#include "UIElement.h"

namespace Lame3d
{
	class UILayoutProperties
	{
		public:
			UILayoutProperties() { }
			virtual ~UILayoutProperties() { }
	};
	
	class UILayout
	{
		public:
			UILayout();
			virtual ~UILayout();
			
			virtual void AddElement(UIElement *e, UILayoutProperties *props) = 0;
			virtual void RemoveElement(UIElement *e) = 0;
			virtual void Pack() = 0;
			
			const Point2d& ParentSize() const;
			void ParentSize(const Point2d& p);
			
		protected:
			Point2d parentSize;
	};
}

#endif /*UILAYOUT_H_*/
